package fr.labri.buganalyzer.model;

import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;

public class Developer implements Serializable{


	private static final long serialVersionUID = 1L;
	
	private long id;
	private String alias;
	private String name;
	private String email;
	private Tracker tracker;
	
	private Set<Issue> submittedIssues;
	private Set<Issue> assignedIssues;
	private Set<Comment> submittedComments;
	private Set<Change> changes;
	private Set<Attachement> submittedAttachements;
	
	public Developer(){
		this.submittedIssues = new HashSet<Issue>();
		this.assignedIssues = new HashSet<Issue>();
		this.submittedComments= new HashSet<Comment>();
		this.changes= new HashSet<Change>();
		this.submittedAttachements= new HashSet<Attachement>();
	}
	
	public Developer(String name) {
		this();
		this.name = name;
	}

	public long getId() {
		return id;
	}

	public String getName() {
		return name;
	}

	public String getEmail() {
		return email;
	}

	public Tracker getTracker() {
		return tracker;
	}

	public void setId(long id) {
		this.id = id;
	}

	public void setName(String name) {
		this.name = name;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public void setTracker(Tracker tracker) {
		this.tracker = tracker;
	}

	public String getAlias() {
		return alias;
	}

	public void setAlias(String nativeId) {
		this.alias = nativeId;
	}

	public Set<Issue> getIssues() {
		return submittedIssues;
	}

	public void setIssues(Set<Issue> issues) {
		this.submittedIssues = issues;
	}

	public Set<Issue> getSubmittedIssues() {
		return submittedIssues;
	}

	public Set<Issue> getAssignedIssues() {
		return assignedIssues;
	}

	public void setSubmittedIssues(Set<Issue> submittedIssues) {
		this.submittedIssues = submittedIssues;
	}

	public void setAssignedIssues(Set<Issue> assignedIssues) {
		this.assignedIssues = assignedIssues;
	}

	public Set<Comment> getSubmittedComments() {
		return submittedComments;
	}

	public void setSubmittedComments(Set<Comment> submittedComments) {
		this.submittedComments = submittedComments;
	}

	public Set<Change> getChanges() {
		return changes;
	}

	public void setChanges(Set<Change> changes) {
		this.changes = changes;
	}

	public Set<Attachement> getSubmittedAttachements() {
		return submittedAttachements;
	}

	public void setSubmittedAttachements(Set<Attachement> submittedAttachements) {
		this.submittedAttachements = submittedAttachements;
	}

}
